package modelo;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;


public class InvitadoDAO {

	public InvitadoDAO() {
		super();
		
	}

	public void registrarInvitado(Invitado invitado) {
		String tiraSQL = "INSERT INTO invitado "+
		 				 "(cedula, nombre, apellido, telefono) "+
		 				 "VALUES ('" + invitado.getCedula() + "','"  
		 				    + invitado.getNombre() + "','"
		 				     + invitado.getApellido() + "','"  
		 				     + invitado.getTelefono() +"')";
		Conexion.ejecutar(tiraSQL);
	}
		
	public ArrayList<Invitado> consultarInvitado(String c) {
		//String codigo, String tipoEvento, String direccion, String fecha, String hora		
		
		ArrayList<Invitado> invitados = new ArrayList<Invitado>();
		String tiraSQL = "SELECT * FROM eventoinvitado";
		ResultSet resultSet = Conexion.consultar(tiraSQL);		
		try {
			while (resultSet.next()) {
				String codigo = resultSet.getString("codigo");
				String cedula = resultSet.getString("cedula");
				if (c.equalsIgnoreCase(codigo)) {
				
				String tiraSQLL = "SELECT * FROM invitado";
				ResultSet resultSett = Conexion.consultar(tiraSQLL);
				while (resultSett.next()){
					
					String cedu = resultSett.getString("cedula");
					
					if(cedula.equalsIgnoreCase(cedu)){
					
					String nombre = resultSett.getString("nombre");
					String apellido = resultSett.getString("apellido");
					String telefono = resultSett.getString("telefono");
					
					Invitado invitado = new Invitado(cedu, nombre, apellido, telefono);
					invitados.add(invitado);
					
					}	
					
				}
				
				}
			}
			
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return invitados;
	}	
	
	
	public Invitado buscarInvitado(String ced) {
		Invitado invitado = new Invitado();
		String tiraSQL = "SELECT * FROM invitado";
		ResultSet resultSet = Conexion.consultar(tiraSQL);		
		try {
			while (resultSet.next()) {
				String cedula = resultSet.getString("cedula");
				
				if (cedula.equals(ced)){
				
				String nombre = resultSet.getString("nombre");
				String apellido = resultSet.getString("apellido");
				String telefono = resultSet.getString("telefono");
				
				invitado = new Invitado(cedula, nombre, apellido, telefono);
				return invitado;
		
				}
				
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return null;
	}	
	
	
public int numeroEvento(String cod) {
		
		int cont = 0;
		String tiraSQL = "SELECT * FROM eventoinvitado";
		ResultSet resultSet = Conexion.consultar(tiraSQL);		
		try {
			while (resultSet.next()) {
				
				String codigo = resultSet.getString("codigo");
				
				if (cod.equalsIgnoreCase(codigo)){
					cont++;
					
				}
			}
			
		} catch (SQLException e) {
			e.printStackTrace();
		}
		
		return cont;
	}	



public void registrarInvitadoAsociacion(String cedula, String codigo) {
	
	String tiraSQL = "INSERT INTO eventoinvitado "+
	 				 "(codigo, cedula) "+
	 				 "VALUES ('" + codigo + "','"  
	 				     + cedula +"')";

	Conexion.ejecutar(tiraSQL);
}



public String buscarInvitadoEnEvento(String cedu,String cod) {
	
	String ced = "";
	String tiraSQL = "SELECT * FROM eventoinvitado";
	ResultSet resultSet = Conexion.consultar(tiraSQL);		
	try {
		while (resultSet.next()) {
			
		 String cedd = resultSet.getString("cedula");
		 String codigo = resultSet.getString("codigo");
			

			if (codigo.equalsIgnoreCase(cod) && cedu.equalsIgnoreCase(cedd)){
				
				return cedd;
				
			}				

			
		}
	} catch (SQLException e) {
		e.printStackTrace();
	}
	return ced;
}	



}
